home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / dev / e / capus2.lha / capus2 / ClickCx / Sources / ClickCxWindows.e < prev   
Encoding:
Text File  |  1995-03-29  |  8.6 KB  |  227 lines

  1. /*"Windows Proc"*/
  2. /*"p_OpenLibraries()"*/
  3. PROC p_OpenLibraries() HANDLE 
  4.     IF (intuitionbase:=OpenLibrary('intuition.library',37))=NIL THEN Raise(ER_INTUITIONLIB)
  5.     IF (gadtoolsbase:=OpenLibrary('gadtools.library',37))=NIL THEN Raise(ER_GADTOOLSLIB)
  6.     IF (gfxbase:=OpenLibrary('graphics.library',37))=NIL THEN Raise(ER_GRAPHICSLIB)
  7.     IF (cxbase:=OpenLibrary('commodities.library',37))=NIL THEN Raise(ER_COMMODITIESLIB)
  8.     IF (workbenchbase:=OpenLibrary('workbench.library',37))=NIL THEN Raise(ER_WORKBENCHLIB)
  9.     IF (iconbase:=OpenLibrary('icon.library',37))=NIL THEN Raise(ER_ICONLIB)
  10.     Raise(ER_NONE)
  11. EXCEPT
  12.     RETURN exception
  13. ENDPROC
  14. /**/
  15. /*"p_CloseLibraries()"*/
  16. PROC p_CloseLibraries()  
  17.     IF iconbase THEN CloseLibrary(iconbase)
  18.     IF workbenchbase THEN CloseLibrary(workbenchbase)
  19.     IF cxbase  THEN CloseLibrary(cxbase)
  20.     IF gfxbase THEN CloseLibrary(gfxbase)
  21.     IF gadtoolsbase THEN CloseLibrary(gadtoolsbase)
  22.     IF intuitionbase THEN CloseLibrary(intuitionbase)
  23. ENDPROC
  24. /**/
  25. /*"p_SetUpScreen()"*/
  26. PROC p_SetUpScreen() HANDLE 
  27.     DEF pt:PTR TO textattr
  28.     dWriteF(['p_SetUpScreen()\n'],0)
  29.     IF mb.allscreen=TRUE
  30.         IF (screen:=p_LockActiveScreen())=NIL THEN Raise(ER_LOCKSCREEN)
  31.     ELSE
  32.         IF (screen:=LockPubScreen(p_LockActivePubScreen()))=NIL THEN Raise(ER_LOCKSCREEN)
  33.     ENDIF
  34.     IF (visual:=GetVisualInfoA(screen,NIL))=NIL THEN Raise(ER_VISUAL)
  35.     offy:=screen.wbortop+Int(screen.rastport+58)-10
  36.     pt:=screen.font
  37.     IF pt.ysize<=8
  38.         tattr:=[pt.name,pt.ysize,0,0]:textattr
  39.     ELSE
  40.         tattr:=['topaz.font',8,0,0]:textattr
  41.     ENDIF
  42.     Raise(ER_NONE)
  43. EXCEPT
  44.     RETURN exception
  45. ENDPROC
  46. /**/
  47. /*"p_SetDownScreen()"*/
  48. PROC p_SetDownScreen() 
  49.     dWriteF(['p_SetDownScreen()\n'],0)
  50.     IF visual THEN FreeVisualInfo(visual)
  51.     IF mb.allscreen=TRUE
  52.         NOP
  53.     ELSE
  54.         IF screen THEN UnlockPubScreen(NIL,screen)
  55.     ENDIF
  56. ENDPROC
  57. /**/
  58. /*"p_LockActivePubScreen()"*/
  59. PROC p_LockActivePubScreen()
  60.     DEF ps:PTR TO pubscreennode
  61.     DEF s:PTR TO screen
  62.     DEF ret=NIL
  63.     DEF sn:PTR TO ln
  64.     DEF psl:PTR TO lh
  65.     DEF myintui:PTR TO intuitionbase
  66.     dWriteF(['p_LockActivePubScreen()\n'],0)
  67.     ret:=NIL
  68.     myintui:=intuitionbase
  69.     s:=myintui.activescreen
  70.     IF psl:=LockPubScreenList()
  71.         sn:=psl.head
  72.         WHILE sn
  73.             ps:=sn
  74.             IF sn.succ<>0
  75.                 IF ps.screen=s THEN ret:=sn.name
  76.             ENDIF
  77.             sn:=sn.succ
  78.         ENDWHILE
  79.         UnlockPubScreenList()
  80.     ENDIF
  81.     RETURN ret
  82. ENDPROC
  83. /**/
  84. /*"p_LockActiveScreen()"*/
  85. PROC p_LockActiveScreen()
  86.     DEF s:PTR TO screen
  87.     DEF ret=NIL
  88.     DEF myintui:PTR TO intuitionbase
  89.     dWriteF(['p_LockAtiveScreen()\n'],0)
  90.     ret:=NIL
  91.     myintui:=intuitionbase
  92.     s:=myintui.activescreen
  93.     RETURN s
  94. ENDPROC
  95. /**/
  96. /*"p_InitcrWindow()"*/
  97. PROC p_InitcrWindow() HANDLE 
  98.     DEF g:PTR TO gadget
  99.     IF (g:=CreateContext({cr_glist}))=NIL THEN Raise(ER_CONTEXT)
  100.     IF (glist:=CreateGadgetA(LISTVIEW_KIND,g,[offx+4,offy+11,153,40,'',tattr,0,0,visual,0]:newgadget,[GA_IMMEDIATE,TRUE,GTLV_SHOWSELECTED,NIL,GTLV_LABELS,NIL,GT_UNDERSCORE,"_",TAG_DONE,0]))=NIL THEN Raise(ER_GADGET)
  101.     IF (gedit:=CreateGadgetA(BUTTON_KIND,glist,[offx+159,offy+11,126,12,'_Edit',tattr,1,16,visual,0]:newgadget,[GA_RELVERIFY,TRUE,GA_DISABLED,FALSE,GT_UNDERSCORE,"_",TAG_DONE,0]))=NIL THEN Raise(ER_GADGET)
  102.     IF (g4:=CreateGadgetA(BUTTON_KIND,gedit,[offx+159,offy+35,126,12,'_Quit',tattr,2,16,visual,0]:newgadget,[GA_RELVERIFY,TRUE,GA_DISABLED,FALSE,GT_UNDERSCORE,"_",TAG_DONE,0]))=NIL THEN Raise(ER_GADGET)
  103.     IF (g_wb:=CreateGadgetA(BUTTON_KIND,g4,[offx+161,offy+23,62,12,'_WBRun',tattr,3,16,visual,0]:newgadget,[GA_RELVERIFY,TRUE,GA_DISABLED,FALSE,GT_UNDERSCORE,"_",TAG_DONE,0]))=NIL THEN Raise(ER_GADGET)
  104.     IF (g_cli:=CreateGadgetA(BUTTON_KIND,g_wb,[offx+223,offy+23,62,12,'_CliRun',tattr,4,16,visual,0]:newgadget,[GA_RELVERIFY,TRUE,GA_DISABLED,FALSE,GT_UNDERSCORE,"_",TAG_DONE,0]))=NIL THEN Raise(ER_GADGET)
  105.     IF (g_info:=CreateGadgetA(TEXT_KIND,g_cli,[offx+7,offy+47,278,12,'',tattr,5,0,visual,0]:newgadget,[GTTX_BORDER,1,GTTX_TEXT,'',GTTX_COPYTEXT,FALSE,GT_UNDERSCORE,"_",TAG_DONE,0]))=NIL THEN Raise(ER_GADGET)
  106.     Raise(ER_NONE)
  107. EXCEPT
  108.     RETURN exception
  109. ENDPROC
  110. /**/
  111. /*"p_RendercrWindow()"*/
  112. PROC p_RendercrWindow() 
  113.     DEF inf[256]:STRING
  114.     DEF infonode:PTR TO xarg
  115.     DEF infox:PTR TO xblock
  116.     DEF cn:PTR TO ln
  117.     dWriteF(['p_RendercrWindow()\n'],0)
  118.     IF cr_window<>0
  119.         p_LockListView(glist,cr_window)
  120.         infonode:=p_GetAdrNode(currentlist,currentnode)
  121.         cn:=infonode
  122.         IF StrCmp(cn.name,'»» ',3)
  123.             infox:=cn
  124.             StringF(inf,'Nbrs Command(s):\d',p_CountNodes(infox.list))
  125.         ELSE
  126.             StringF(inf,'Stack :\d Priority :\d',infonode.stack,infonode.pri)
  127.         ENDIF
  128.         IF p_EmptyList(currentlist)=-1
  129.             Gt_SetGadgetAttrsA(glist,cr_window,NIL,[GA_DISABLED,TRUE,GTLV_SHOWSELECTED,NIL,GTLV_LABELS,NIL,TAG_DONE,0])
  130.             Gt_SetGadgetAttrsA(gedit,cr_window,NIL,[GA_DISABLED,TRUE,TAG_DONE,0])
  131.             Gt_SetGadgetAttrsA(g_wb,cr_window,NIL,[GA_DISABLED,TRUE,TAG_DONE,0])
  132.             Gt_SetGadgetAttrsA(g_cli,cr_window,NIL,[GA_DISABLED,TRUE,TAG_DONE,0])
  133.             Gt_SetGadgetAttrsA(g_info,cr_window,NIL,[GTTX_BORDER,TRUE,GTTX_TEXT,'Empty list.',TAG_DONE,0])
  134.             IF mb.zoomed=FALSE
  135.                 SetWindowTitles(cr_window,title_req,'Made With GadToolsBox v2.0 © 1991-1993')
  136.             ELSE
  137.                 SetWindowTitles(cr_window,'No Command','Made With GadToolsBox v2.0 © 1991-1993')
  138.             ENDIF
  139.         ELSE
  140.             Gt_SetGadgetAttrsA(glist,cr_window,NIL,[GA_DISABLED,FALSE,GTLV_SHOWSELECTED,TRUE,GTLV_TOP,currentnode,GTLV_SELECTED,currentnode,GTLV_LABELS,currentlist,TAG_DONE,0])
  141.             Gt_SetGadgetAttrsA(g_info,cr_window,NIL,[GTTX_BORDER,TRUE,GTTX_TEXT,inf,TAG_DONE,0])
  142.             Gt_SetGadgetAttrsA(gedit,cr_window,NIL,[GA_DISABLED,FALSE,TAG_DONE,0])
  143.             Gt_SetGadgetAttrsA(g_wb,cr_window,NIL,[GA_DISABLED,FALSE,TAG_DONE,0])
  144.             Gt_SetGadgetAttrsA(g_cli,cr_window,NIL,[GA_DISABLED,FALSE,TAG_DONE,0])
  145.             IF mb.zoomed=FALSE
  146.                 SetWindowTitles(cr_window,title_req,'Made With GadToolsBox v2.0 © 1991-1993')
  147.             ELSE
  148.                 SetWindowTitles(cr_window,cn.name,'Made With GadToolsBox v2.0 © 1991-1993')
  149.             ENDIF
  150.         ENDIF
  151.         p_UnLockListView(glist,cr_window,currentlist)
  152.         RefreshGList(glist,cr_window,NIL,-1)
  153.         Gt_RefreshWindow(cr_window,NIL)
  154.     ENDIF
  155. ENDPROC
  156. /**/
  157. /*"p_OpencrWindow()"*/
  158. PROC p_OpencrWindow() HANDLE 
  159.     DEF mx,my
  160.     DEF winx,winy,ap
  161.     mx:=screen.mousex-145
  162.     my:=screen.mousey-31
  163.     winx:=290+offx
  164.     winy:=62+offy
  165.     IF (cr_window:=OpenWindowTagList(NIL,
  166.                       [WA_LEFT,mx,
  167.                        WA_TOP,my,
  168.                        WA_WIDTH,winx,
  169.                        WA_HEIGHT,winy,
  170.                        WA_IDCMP,$400378+IDCMP_REFRESHWINDOW+IDCMP_RAWKEY,
  171.                        WA_FLAGS,$102E+WFLG_HASZOOM+WFLG_RMBTRAP,
  172.                        WA_GADGETS,cr_glist,
  173.                        WA_ZOOM,[mx,my,290,11]:INT,
  174.                        WA_TITLE,title_req,
  175.                        WA_CUSTOMSCREEN,screen,
  176.                        WA_SCREENTITLE,'Made With GadToolsBox v2.0 © 1991-1993',
  177.                        TAG_DONE]))=NIL THEN Raise(ER_WINDOW)
  178.     Gt_RefreshWindow(cr_window,NIL)
  179.     p_RendercrWindow()
  180.     IF (ap:=AddAppWindowA(0,0,cr_window,mb.prgport,NIL))=NIL THEN Raise(ER_APPWIN)
  181.     mb.appwindow:=ap
  182.     Raise(ER_NONE)
  183. EXCEPT
  184.     RETURN exception
  185. ENDPROC
  186. /**/
  187. /*"p_RemcrWindow()"*/
  188. PROC p_RemcrWindow() 
  189.     IF mb.appwindow THEN RemoveAppWindow(mb.appwindow)
  190.     IF cr_window THEN CloseWindow(cr_window)
  191.     IF cr_glist THEN FreeGadgets(cr_glist)
  192.     cr_window:=NIL
  193. ENDPROC
  194. /**/
  195. /*"p_OpenWindow()"*/
  196. PROC p_OpenWindow() HANDLE 
  197. /*===============================================================================
  198.  = Para         : NONE
  199.  = Return       : ER_NONE if ok,else the error.
  200.  = Description  : Lock,init gagets lists and open whatview window.
  201.  ==============================================================================*/
  202.     DEF t
  203.     IF (t:=p_SetUpScreen())<>ER_NONE THEN Raise(t)
  204.     IF (t:=p_InitcrWindow())<>ER_NONE THEN Raise(t)
  205.     IF (t:=p_OpencrWindow())<>ER_NONE THEN Raise(t)
  206.     Raise(ER_NONE)
  207. EXCEPT
  208.     RETURN exception
  209. ENDPROC
  210. /**/
  211. /*"p_CloseWindow()"*/
  212. PROC p_CloseWindow() 
  213. /*===============================================================================
  214.  = Para         : NONE
  215.  = Return       : NONE
  216.  = Description  : free gadgets lists,close window and unlock screen.
  217.  ==============================================================================*/
  218.     IF cr_window THEN p_RemcrWindow()
  219.     IF screen THEN p_SetDownScreen()
  220.     cr_window:=NIL
  221.     screen:=NIL
  222.     mb.zoomed:=FALSE
  223. ENDPROC
  224. /**/
  225. /**/
  226.  
  227.